'''羊车门问题。有三扇关闭的门，一扇门后面停着汽车，其余门后面是山羊，只有主持人知道每扇门后面是
什么。参赛者可以选择一扇门，在开启它之前，主持人会开启另一扇门，露出门后面的山羊，然后允许参赛者
更换自己的选择。请问：参赛者更换选择后能否增加猜中汽车的积灰？——这是一个经典问题。请使用random库
对这个随机事件进行预测，分别输出参赛者改变和坚持选择获胜的概率。'''
import random
import time
start = time.perf_counter()
Gate = [0,0,1]
winTimes_1,winTimes_2 = 0,0
for i in range(10000000):
    if i%100000 == 0:
        delta = time.perf_counter()-start
        print('''正在进行第{}次计算...
当前进度：{}{}%...
已用时：{}分{}秒...\n'''.format(i,''.join('▒'*(i//400000)),i/100000,(delta%3600)//60,delta%60))
    choice = Gate[random.randint(0,2)]
#一路走到黑
    if choice == Gate[2]:
        winTimes_1 += 1
#见机行事
    if choice == Gate[0]:
        choice = Gate[2]
        winTimes_2 += 1
    elif choice == Gate[1]:
        choice = Gate[2]
        winTimes_2 += 1
    else:
        choice = [0]
posibility_1,posibility_2= winTimes_1/10000000,winTimes_2/10000000
print('''\n如果你一路走到黑，你的胜率是：{}；
如果你见机行事，你的胜率是：{}
      '''.format(posibility_1,posibility_2))
    
